package com.zmn.plat.business.interfaces.channel;

import com.zmn.plat.common.dto.category.CategoryUnionInfoDRO;
import com.zmn.plat.common.exception.PlatException;
import com.zmn.plat.model.vo.channel.category.ChannelCategoryUnionVo;

import java.util.List;

/**
 * @author tanbiao
 * @description
 * @modifier
 * @since 2020/11/11 18:26
 **/
public interface ChannelServiceCategoryBService {
    /**
     * 描述:根据渠道id查询开通了分类的渠道id，如果当前渠道是二级渠道有数据，返回当前渠道id；没有数据，根据父级渠道查询分类是否开通，如果开通返回父渠道id；
     *
     * @param channelId
     *            渠道ID
     * @return:
     * @auther: tanbiao
     * @since: 2020/11/11 18:02
     */
    Integer getAvailableCategoryChannelId(Integer channelId) throws PlatException;


    /**
     * 根据渠道ID，城市ID，服务分类ID集合查询渠道开通品类VO
     * @param channelId     渠道ID
     * @param cityId        城市ID
     * @param servCategIds  服务分类ID集合
     * @return
     */
    List<CategoryUnionInfoDRO> listUnionCategoryByChannelIdAndCityIdAndServCategIds(Integer channelId, Integer cityId, List<Integer> servCategIds);
}
